The present invention relates to time-of-flight mass spectrometers.
In a time-of-flight mass spectrometer (TOFMS), the sample to be analyzed is ionized, accelerated in a vacuum through a known potential, and then the arrival time of the different ionized components is measured at a detector that is spatially separated from the ion source. The larger the particle, the longer the flight time; the relationship between the flight time and the mass can be written in the form:
time=k{square root over (m+c,)}
where k is a constant related to flight path and ion energy, c is a small delay time that may be introduced by the signal cable and/or detection electronics.
The detector converts ion impacts into electrons. On average, the signal generated by the detector at any given time is proportional to the number of electrons. There is only a statistical correlation between one ion hitting the detector and the number of electrons generated. In addition, more than one ion at a time may hit the detector.
The mass spectrum generated by the spectrometer is the summed output of the detector as a function of the time-of-flight between the ion source and the detector. The number of electrons leaving the detector in a given time interval is converted to a voltage that is digitized by an analog-to-digital converter (ADC). The dynamic range of the detector output determines the required number of ADC bits.
In general, a short pulse of ions from an ion source is accelerated through a known voltage. Upon leaving the accelerator, the ions are bunched together but travelling at different speeds. The time required for each ion to reach the detector depends on its speed, which in turn, depends on its mass.
A mass spectrum is generated by measuring the output of the ADC as a function of the time after the ions have been accelerated. The range of delay times is divided into discrete xe2x80x9cbinsxe2x80x9d. Unfortunately, the statistical accuracy of the spectrum obtained from the ions that are available in a single such pulse is insufficient. Hence, the measurement is repeated a number of times and the individual mass spectra are summed to provide the final result.
There are two basic models for generating the mass spectrum. In the first model, the output from the detector is monitored for a pulse indicative of an ion striking the detector. When such a pulse is detected, the value of the detector output and the time delay associated with the pulse are stored in a memory. Such xe2x80x9ceventxe2x80x9d spectrometers require less memory to store a spectrum since only the peaks are stored.
Unfortunately, this type of system has a number of problems. First, such a system is difficult to implement in a manner that guarantees that there would be no dead time between events and still preserve the cost savings derived from the smaller memory. If an event occurs during such a dead period, the data is lost.
Second, small baseline shifts will cause the system to fail. For example, if the shift causes noise events to be mistaken for peaks, a large percentage of the points will be deemed xe2x80x9ceventsxe2x80x9d. Such an overload will cause the system to fail unless a fast buffer memory that is comparable in size to that of a summing system is provided.
The second type of spectrometer avoids this discrimination problem by measuring the output of the detector on every clock pulse after the ions have been accelerated and summing the data even if it is likely to be noise. Since no data is discarded, peaks that only appear above the background after a large number of scans are added together are not lost. Unfortunately, this type of spectrometer requires a large high-speed memory for accumulating the spectrum.
The resolution of the spectrometer depends on the number of bins into which the flight time measurements are divided. However, as the number of bins increases, the amount of memory needed to store the spectrum also increases. Each bin is represented by a word in memory. The number of bits needed for each word depends on the maximum count that is expected in the corresponding bin. In general, the spectrum has a number of large peaks on a low-level background. Since the location of these peaks is not known in advance, prior art spectrometers allocate the same number of bits for each word. Hence, a doubling of the time resolution results in a doubling in the size of the spectrum storage memory.
To maximize the sensitivity of a TOFMS experiment, the total data collection time needs to be as short as possible to minimize errors due to instabilities such as drifts in temperature, fluctuations in the high voltage level used to accelerate the ions, and inconsistencies in ion generation. Hence, the time available to sample and record the output of the detector at each time point is quite small. Accordingly, the memory in which the data from each time point is stored must be a very high-speed memory, which increases the cost of the spectrometer.
Broadly, it is the object of the present invention to provide an improved TOFMS.
This and other objects of the present invention will become apparent to those skilled in the art from the following detailed description of the invention and the accompanying drawings.
The present invention is a spectrometer having a register for storing a register value, a detector for generating a digital measurement in response to a control signal, first and second memories and an adder. The first memory has a plurality of data words, each data word storing a data value that is less than a maximum value, an address input coupled to the register, and a data bus for receiving and transmitting data values. The first memory stores one of the data values in a data word specified by the register value in response to a write command. The first memory also provides the data value corresponding to the register value on the data bus in response to a read command. The adder adds the data value on the data bus to the digital measurement from the detector to generate a sum value that is divided into a low order part having a value less or equal to the maximum value and an overflow value. The second memory stores at least a portion of the sum value at a location specified by the register value if the overflow value is greater than zero. In the preferred embodiment of the present invention, the low order part of the sum value is stored in the first memory at the location specified by the register value. And, the second memory stores the sum of the high overflow values generated for each register value for which the overflow value was greater than zero. The second memory is preferably implemented with a content-addressable memory.